home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / music / cdplay.zip / CDPLAYER.FRM < prev    next >
Text File  |  1994-04-01  |  19KB  |  597 lines

  1. VERSION 2.00
  2. Begin Form CDForm 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "CD Player"
  6.    ClientHeight    =   2400
  7.    ClientLeft      =   2745
  8.    ClientTop       =   2070
  9.    ClientWidth     =   7185
  10.    FontBold        =   -1  'True
  11.    FontItalic      =   -1  'True
  12.    FontName        =   "MS Sans Serif"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontUnderline   =   0   'False
  16.    ForeColor       =   &H00FFFFFF&
  17.    Height          =   3090
  18.    Icon            =   CDPLAYER.FRX:0000
  19.    Left            =   2685
  20.    LinkTopic       =   "Form1"
  21.    MaxButton       =   0   'False
  22.    ScaleHeight     =   2400
  23.    ScaleWidth      =   7185
  24.    Top             =   1440
  25.    Width           =   7305
  26.    Begin SSPanel TrackPanel3D 
  27.       Alignment       =   2  'Left Justify - BOTTOM
  28.       BackColor       =   &H00C0C0C0&
  29.       Font3D          =   0  'None
  30.       Height          =   1440
  31.       Left            =   60
  32.       TabIndex        =   15
  33.       Top             =   45
  34.       Width           =   7095
  35.       Begin SSPanel frmDisabledCD 
  36.          Alignment       =   8  'Center - BOTTOM
  37.          BackColor       =   &H00C0C0C0&
  38.          BevelOuter      =   0  'None
  39.          Caption         =   "Please Wait. . ."
  40.          Font3D          =   0  'None
  41.          Height          =   1320
  42.          Left            =   120
  43.          TabIndex        =   2
  44.          Top             =   45
  45.          Width           =   6855
  46.          Begin PictureBox picLogo 
  47.             AutoSize        =   -1  'True
  48.             BackColor       =   &H00C0C0C0&
  49.             BorderStyle     =   0  'None
  50.             Height          =   615
  51.             Left            =   2205
  52.             ScaleHeight     =   615
  53.             ScaleWidth      =   2535
  54.             TabIndex        =   3
  55.             Top             =   120
  56.             Width           =   2535
  57.             Begin Label lblLogo 
  58.                AutoSize        =   -1  'True
  59.                BackStyle       =   0  'Transparent
  60.                Caption         =   "CD Player"
  61.                FontBold        =   -1  'True
  62.                FontItalic      =   -1  'True
  63.                FontName        =   "MS Serif"
  64.                FontSize        =   24
  65.                FontStrikethru  =   0   'False
  66.                FontUnderline   =   0   'False
  67.                ForeColor       =   &H00C00000&
  68.                Height          =   525
  69.                Index           =   2
  70.                Left            =   -30
  71.                TabIndex        =   4
  72.                Top             =   0
  73.                Width           =   2445
  74.             End
  75.             Begin Label lblLogo 
  76.                AutoSize        =   -1  'True
  77.                BackStyle       =   0  'Transparent
  78.                Caption         =   "CD Player"
  79.                FontBold        =   -1  'True
  80.                FontItalic      =   -1  'True
  81.                FontName        =   "MS Serif"
  82.                FontSize        =   24
  83.                FontStrikethru  =   0   'False
  84.                FontUnderline   =   0   'False
  85.                ForeColor       =   &H00FFFFFF&
  86.                Height          =   525
  87.                Index           =   3
  88.                Left            =   0
  89.                TabIndex        =   5
  90.                Top             =   30
  91.                Width           =   2415
  92.             End
  93.          End
  94.       End
  95.       Begin PictureBox minipicLogo 
  96.          AutoSize        =   -1  'True
  97.          BackColor       =   &H00C0C0C0&
  98.          BorderStyle     =   0  'None
  99.          Height          =   210
  100.          Left            =   3045
  101.          ScaleHeight     =   210
  102.          ScaleWidth      =   1095
  103.          TabIndex        =   10
  104.          Top             =   60
  105.          Width           =   1095
  106.          Begin Label lblminiLogo 
  107.             AutoSize        =   -1  'True
  108.             BackStyle       =   0  'Transparent
  109.             Caption         =   "CD Player"
  110.             FontBold        =   -1  'True
  111.             FontItalic      =   -1  'True
  112.             FontName        =   "MS Serif"
  113.             FontSize        =   8.25
  114.             FontStrikethru  =   0   'False
  115.             FontUnderline   =   0   'False
  116.             ForeColor       =   &H00C00000&
  117.             Height          =   195
  118.             Index           =   0
  119.             Left            =   120
  120.             TabIndex        =   11
  121.             Top             =   -15
  122.             Width           =   900
  123.          End
  124.          Begin Label lblminiLogo 
  125.             AutoSize        =   -1  'True
  126.             BackStyle       =   0  'Transparent
  127.             Caption         =   "CD Player"
  128.             FontBold        =   -1  'True
  129.             FontItalic      =   -1  'True
  130.             FontName        =   "MS Serif"
  131.             FontSize        =   8.25
  132.             FontStrikethru  =   0   'False
  133.             FontUnderline   =   0   'False
  134.             ForeColor       =   &H00FFFFFF&
  135.             Height          =   195
  136.             Index           =   1
  137.             Left            =   120
  138.             TabIndex        =   12
  139.             Top             =   0
  140.             Width           =   900
  141.          End
  142.       End
  143.       Begin SSPanel DisplayTracks 
  144.          BackColor       =   &H00C0C0C0&
  145.          BevelInner      =   1  'Inset
  146.          BevelOuter      =   0  'None
  147.          Font3D          =   0  'None
  148.          Height          =   855
  149.          Left            =   105
  150.          TabIndex        =   18
  151.          Top             =   225
  152.          Width           =   6855
  153.          Begin SSOption TrackNum 
  154.             Font3D          =   0  'None
  155.             FontBold        =   -1  'True
  156.             FontItalic      =   0   'False
  157.             FontName        =   "MS Sans Serif"
  158.             FontSize        =   9.75
  159.             FontStrikethru  =   0   'False
  160.             FontUnderline   =   0   'False
  161.             Height          =   255
  162.             Index           =   0
  163.             Left            =   240
  164.             TabIndex        =   13
  165.             Top             =   105
  166.             Visible         =   0   'False
  167.             Width           =   200
  168.          End
  169.          Begin Label TrackLabel 
  170.             BackStyle       =   0  'Transparent
  171.             Caption         =   "1"
  172.             Height          =   255
  173.             Index           =   0
  174.             Left            =   240
  175.             TabIndex        =   14
  176.             Top             =   345
  177.             Visible         =   0   'False
  178.             Width           =   135
  179.          End
  180.       End
  181.       Begin SSCheck Repeat 
  182.          Caption         =   "&Repeat"
  183.          Font3D          =   0  'None
  184.          Height          =   255
  185.          Left            =   6030
  186.          TabIndex        =   17
  187.          Top             =   1095
  188.          Width           =   975
  189.       End
  190.       Begin PictureBox PicTotalTime 
  191.          AutoRedraw      =   -1  'True
  192.          BackColor       =   &H00C0C0C0&
  193.          BorderStyle     =   0  'None
  194.          Height          =   255
  195.          Left            =   135
  196.          ScaleHeight     =   255
  197.          ScaleWidth      =   3015
  198.          TabIndex        =   16
  199.          Top             =   1095
  200.          Width           =   3015
  201.       End
  202.    End
  203.    Begin SSPanel CDButton3DPanel 
  204.       BackColor       =   &H00C0C0C0&
  205.       BevelInner      =   1  'Inset
  206.       Font3D          =   0  'None
  207.       Height          =   855
  208.       Left            =   45
  209.       TabIndex        =   6
  210.       Top             =   1530
  211.       Width           =   7095
  212.       Begin MMControl MMControl1 
  213.          BackVisible     =   0   'False
  214.          BorderStyle     =   0  'None
  215.          DeviceType      =   "CDAudio"
  216.          Height          =   615
  217.          Left            =   150
  218.          RecordVisible   =   0   'False
  219.          StepVisible     =   0   'False
  220.          TabIndex        =   9
  221.          Top             =   120
  222.          Width           =   2640
  223.       End
  224.       Begin SSPanel Status 
  225.          BackColor       =   &H00C0C0C0&
  226.          BevelInner      =   1  'Inset
  227.          BevelOuter      =   0  'None
  228.          Font3D          =   0  'None
  229.          Height          =   495
  230.          Left            =   3000
  231.          TabIndex        =   8
  232.          Top             =   120
  233.          Width           =   3975
  234.       End
  235.       Begin SSPanel CDStatusBar 
  236.          BackColor       =   &H00C0C0C0&
  237.          BevelInner      =   1  'Inset
  238.          BevelOuter      =   0  'None
  239.          FloodShowPct    =   0   'False
  240.          FloodType       =   1  'Left To Right
  241.          Font3D          =   0  'None
  242.          FontBold        =   -1  'True
  243.          FontItalic      =   0   'False
  244.          FontName        =   "MS Serif"
  245.          FontSize        =   6
  246.          FontStrikethru  =   0   'False
  247.          FontUnderline   =   0   'False
  248.          ForeColor       =   &H00000000&
  249.          Height          =   200
  250.          Left            =   3000
  251.          TabIndex        =   7
  252.          Top             =   575
  253.          Width           =   3975
  254.       End
  255.    End
  256.    Begin PictureBox CDPicture 
  257.       AutoRedraw      =   -1  'True
  258.       BackColor       =   &H00C0C0C0&
  259.       BorderStyle     =   0  'None
  260.       DragIcon        =   CDPLAYER.FRX:0302
  261.       DrawMode        =   4  'Not Copy Pen
  262.       FillStyle       =   0  'Solid
  263.       ForeColor       =   &H00000000&
  264.       Height          =   480
  265.       Left            =   150
  266.       Picture         =   CDPLAYER.FRX:0604
  267.       ScaleHeight     =   32
  268.       ScaleMode       =   3  'Pixel
  269.       ScaleWidth      =   32
  270.       TabIndex        =   1
  271.       TabStop         =   0   'False
  272.       Tag             =   "9130"
  273.       Top             =   2505
  274.       Width           =   480
  275.    End
  276.    Begin TextBox txtFloatTitle 
  277.       BackColor       =   &H00E0FFFF&
  278.       FontBold        =   -1  'True
  279.       FontItalic      =   -1  'True
  280.       FontName        =   "MS Sans Serif"
  281.       FontSize        =   8.25
  282.       FontStrikethru  =   0   'False
  283.       FontUnderline   =   0   'False
  284.       ForeColor       =   &H00000000&
  285.       Height          =   285
  286.       Left            =   1260
  287.       TabIndex        =   0
  288.       Text            =   "Text1"
  289.       Top             =   2655
  290.       Visible         =   0   'False
  291.       Width           =   735
  292.    End
  293.    Begin Timer Timer1 
  294.       Left            =   795
  295.       Top             =   2520
  296.    End
  297.    Begin Menu mnuExit 
  298.       Caption         =   "E&xit"
  299.    End
  300.    Begin Menu mnuOptions 
  301.       Caption         =   "&Options"
  302.       Begin Menu mnuOptionsItem 
  303.          Caption         =   "&Display Track Time In Icon"
  304.          Index           =   0
  305.       End
  306.       Begin Menu mnuOptionsItem 
  307.          Caption         =   "-"
  308.          Index           =   1
  309.       End
  310.       Begin Menu mnuOptionsItem 
  311.          Caption         =   "Alway on &Top"
  312.          Index           =   2
  313.       End
  314.       Begin Menu mnuOptionsItem 
  315.          Caption         =   "&Floating Titles"
  316.          Index           =   3
  317.       End
  318.    End
  319.    Begin Menu mnuCDInfo 
  320.       Caption         =   "&CD Info"
  321.       Begin Menu mnuCDInfoItem 
  322.          Caption         =   "A&dd To/Edit CD Database"
  323.          Index           =   0
  324.       End
  325.       Begin Menu mnuCDInfoItem 
  326.          Caption         =   "About This &CD"
  327.          Index           =   1
  328.       End
  329.       Begin Menu mnuCDInfoItem 
  330.          Caption         =   "-"
  331.          Index           =   2
  332.       End
  333.       Begin Menu mnuCDInfoItem 
  334.          Caption         =   "&About CD Player"
  335.          Index           =   3
  336.       End
  337.    End
  338. End
  339. Option Explicit
  340.  
  341. Sub CDStatusBar_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  342.     Call UpdateSeek(CDTime(TrackIndex), X)
  343. End Sub
  344.  
  345. Sub Form_Load ()
  346.     ' Initialize some variables to default values
  347.     CRLF = Chr$(13) & Chr$(10)
  348.     NumOfTracks = 1
  349.     AppPath = App.Path
  350.  
  351.     CenterLogo Me, frmDisabledCD
  352.     CenterForm CDForm, True
  353.  
  354.     ' Check for CD Installed
  355.     If MMInstalled() = True Then
  356.         InitMMControl
  357.         ' Check to see if In Play Mode
  358.         If CDForm.MMControl1.Mode = 526 Then MMControl1_PlayClick 0
  359.     End If
  360.  
  361.     ' Get Option Settings
  362.     GetOptionSettings
  363.     
  364. End Sub
  365.  
  366. Sub Form_Resize ()
  367.  
  368.     If CDForm.WindowState <= 1 And CDForm.mnuOptionsItem(2).Checked = True Then
  369.         ' Because of the way VB is handling the ICON Window, it destroys
  370.         ' the old window and creates a new one, thus totally screwing up Alway On Top!
  371.         OnTop Me ' Call to turn check off
  372.         OnTop Me ' Turn back on new Window
  373.     End If
  374.  
  375.     If CDForm.WindowState = 1 And CDForm.mnuOptionsItem(0).Checked = True Then
  376.         ' Turn on an Icon if not checked
  377.         CDForm.Icon = LoadPicture()
  378.     Else
  379.         CDForm.Icon = CDForm.CDPicture.Picture
  380.     End If
  381. End Sub
  382.  
  383. Sub Form_Unload (Cancel As Integer)
  384.     Dim Answer As Integer
  385.  
  386.     If MMControl1.Mode = MCI_MODE_PLAY Then
  387.         Answer = MsgBox(CDInfo.CDTitle & " is still playing!" & CRLF & "Are you sure you want to Exit?", 4, "Attention")
  388.         If Answer = 6 Then ' Yes
  389.             ' Save Option Settings
  390.             SaveOptionSettings
  391.             MMControl1.Command = "Close"
  392.         Else ' No
  393.             Cancel = True
  394.         End If
  395.     Else
  396.         ' Save Option Settings
  397.         SaveOptionSettings
  398.         MMControl1.Command = "Close"
  399.     End If
  400. End Sub
  401.  
  402. Sub MMControl1_EjectClick (Cancel As Integer)
  403.     MMControl1.Command = "Eject"
  404.     MMControl1.Command = "Close"
  405.     UpdateCaption 0, "None"
  406.     CDForm.txtFloatTitle.Visible = False
  407.     Timer_Control True
  408. End Sub
  409.  
  410. Sub MMControl1_PauseClick (Cancel As Integer)
  411.     CDForm.Caption = CDInfo.CDTitle & " (Paused)"
  412. End Sub
  413.  
  414. Sub MMControl1_PlayClick (Cancel As Integer)
  415.     Dim I As Integer
  416.  
  417.     MMControl1.UpdateInterval = 1000
  418.     MMControl1.From = TrackIndex
  419.     If CDForm.Caption = CDInfo.CDTitle & " (Paused)" Then
  420.         MMControl1.Command = "Seek"
  421.     End If
  422.  
  423. End Sub
  424.  
  425. Sub MMControl1_PlayCompleted (ErrorCode As Long)
  426.     If ErrorCode = 262 Then
  427.         MMControl1.Command = "Close"
  428.         Timer_Control True
  429.     End If
  430. End Sub
  431.  
  432. Sub MMControl1_StatusUpdate ()
  433.     Static Stopped As Integer
  434.     
  435.     If MMControl1.Mode = MCI_MODE_STOP And CDForm.Caption <> CDInfo.CDTitle & "(Paused)" Then
  436.         
  437.         ' Repeat
  438.         If Repeat.Value = True And MMControl1.NotifyValue = 1 Then
  439.             Call UpdateCaption(1, "Rewinding")
  440.             MMControl1.From = "1"
  441.             MMControl1.Command = "Play"
  442.             Exit Sub
  443.         End If
  444.  
  445.         If Stopped = True Then Exit Sub
  446.  
  447.         ' Update Form Caption
  448.         Call UpdateCaption(CDInfo.CDTrack, "Stopped")
  449.             
  450.         ' Update CD Info
  451.         Call UpdateCDInfo(0, "00:00")
  452.  
  453.         ' Set Icon Timer to 00:00
  454.         If CDForm.mnuOptionsItem(0).Checked = True Then
  455.             CDForm.Cls
  456.             CDForm.Print "00:00"
  457.         End If
  458.  
  459.         ' Set Stopped Flag
  460.         Stopped = True
  461.         
  462.     ElseIf MMControl1.Mode = MCI_MODE_PLAY Then
  463.         If CDForm.WindowState = 0 Then
  464.             ' Clear Form and Reset Flags
  465.             CDForm.Cls
  466.             Stopped = False
  467.             
  468.             ' Get CD Track, Minute and Second Info
  469.             CDInfo.CDTrack = GetCDTrack()
  470.             
  471.             ' Update Form Caption
  472.             Call UpdateCaption(CDInfo.CDTrack, "Play")
  473.         
  474.             ' Update CD Info
  475.             Call UpdateCDInfo(CInt(CDInfo.CDTrack), GetCDTime())
  476.         
  477.             ' Floating Titles
  478.             If mnuOptionsItem(3).Checked = True Then FloatingTitle
  479.  
  480.         ElseIf CDForm.WindowState = 1 Then
  481.             If mnuOptionsItem(0).Checked = True Then AnimateIcon GetCDTime()
  482.             
  483.             ' Update Form Caption
  484.             Call UpdateCaption(GetCDTrack(), "Play")
  485.         End If
  486.     ElseIf MMControl1.Mode = MCI_MODE_READY Then
  487.         MMControl1.Command = "Close"
  488.         UpdateCaption 0, "None"
  489.         CDForm.txtFloatTitle.Visible = False
  490.         Timer_Control True
  491.     End If
  492.  
  493. End Sub
  494.  
  495. Sub MMControl1_StopClick (Cancel As Integer)
  496.     ' Update Form Caption
  497.     Call UpdateCaption(CDInfo.CDTrack, "Stopped")
  498.             
  499.     ' Update CD Info
  500.     CDForm.Status.Caption = "Length: -None- Time: -None-"
  501.         
  502. End Sub
  503.  
  504. Sub mnuCDInfoItem_Click (Index As Integer)
  505.     Select Case Index
  506.         Case 0 ' Add CD Info
  507.             CDEntry.Show 1
  508.         Case 1 ' About The CD
  509.             CDAbout.Show 1
  510.         Case 3 ' About CDPlayer
  511.             About.Show 1
  512.     End Select
  513. End Sub
  514.  
  515. Sub mnuExit_Click ()
  516.     Unload Me
  517. End Sub
  518.  
  519. Sub mnuOptionsItem_Click (Index As Integer)
  520.     Select Case Index
  521.         Case 0 ' Animation
  522.                 mnuOptionsItem(0).Checked = Not mnuOptionsItem(0).Checked
  523.         Case 1 ' Bar
  524.         Case 2 ' Always On Top
  525.             OnTop Me
  526.         Case 3
  527.             mnuOptionsItem(Index).Checked = Not mnuOptionsItem(Index).Checked
  528.     End Select
  529. End Sub
  530.  
  531. Sub Timer1_Timer ()
  532.     Dim I As Integer
  533.  
  534.     MMControl1.Command = "Open"
  535.     If MMControl1.Error = 266 Then
  536.         ' Control Disabled! No CD Present
  537.         CDForm.frmDisabledCD.Caption = "Please Insert A CD!"
  538.         
  539.         frmDisabledCD.Visible = True
  540.         ChangeMenuStatus False
  541.         If Tracks_Loaded = True Then Call LoadTracks(NumOfTracks, False)
  542.         PicTotalTime.Cls
  543.         ReDim CDTracks(0)
  544.     Else
  545.         ' Initialize the control
  546.         If Tracks_Loaded = True Then Call LoadTracks(NumOfTracks, False)
  547.         InitMMControl
  548.         ChangeMenuStatus True
  549.         CDStatusBar.FloodPercent = 0
  550.         Call Timer_Control(False)
  551.     End If
  552. End Sub
  553.  
  554. Sub TrackLabel_Click (Index As Integer)
  555.     ' Seek to Track
  556.     TrackNum(Index).Value = True
  557.     TrackPanel3D.Refresh
  558. End Sub
  559.  
  560. Sub TrackNum_Click (Index As Integer, Value As Integer)
  561.     TrackIndex = Index
  562.     
  563.     ' Check if just Setting Option
  564.     If TrackNumChange = True Then Exit Sub
  565.     
  566.     ' Seek to Track
  567.     MMControl1.To = TrackIndex
  568.     MMControl1.Command = "Seek"
  569.     MMControl1.Track = TrackIndex
  570.     MMControl1.SetFocus
  571. End Sub
  572.  
  573. Sub TrackNum_MouseMove (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  574.     Static SavedIndex As Integer
  575.  
  576.     If SavedIndex = Index Then Exit Sub
  577.  
  578.     If mnuOptionsItem(3).Checked = True Then
  579.         MouseX = X
  580.         MouseY = Y
  581.         txtFloatTitle.Visible = False
  582.         txtFloatTitle = (Mid$(CDTrackNo(Index), 5, (Len(CDTrackNo(Index)) - 5)))
  583.         txtFloatTitle.Width = CDForm.TextWidth(txtFloatTitle) + 100
  584.         txtFloatTitle.Height = CDForm.TextHeight(txtFloatTitle)
  585.         txtFloatTitle.ZOrder 0
  586.         txtFloatTitle.Left = TrackNum(Index).Left
  587.         If (txtFloatTitle.Left + txtFloatTitle.Width) > (TrackPanel3D.Left + TrackPanel3D.Width) Then
  588.             txtFloatTitle.Left = TrackNum(Index).Left + ((TrackPanel3D.Left + TrackPanel3D.Width) - (txtFloatTitle.Left + txtFloatTitle.Width))
  589.         End If
  590.         txtFloatTitle.Top = TrackNum(Index).Top
  591.         txtFloatTitle.Tag = Index
  592.         SavedIndex = Index
  593.         txtFloatTitle.Visible = True
  594.     End If
  595. End Sub
  596.  
  597.